#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include "stat.h"

stat_t reciever; //数据接收器


void callback(uint8_t *data, int len, void *arg);   //数据处理函数
int main(int argc, char *argv[])
{
    int i;
    /* 模拟串口数据 */
    uint8_t data[]={0x1, 1, 2, 3, 0xAA, 0x03, 0x01, 0xAA, 0x03, 0x1, 2, 4, 5, 23, 4};
    
    /* 初始化数据接收器 */
    proto_init (&reciever, callback, &i);
    
    /* 按字节接收并处理数据 */
    for (i = 0; i < sizeof(data); i ++)
    {
        proto_proc (&reciever, data[i]);
    }
    
    exit (EXIT_SUCCESS);
}

/* 数据包接受完整后，回调此函数 */
void callback(uint8_t *data, int len, void *arg)
{
    int i;
    printf ("[i]: %d\n", *(int*)arg);
    printf ("正文数据: ");
    for (i = 0; i < len; i ++)
    {
        printf ("%02X ", data[i]);
    }
    printf ("\n");
}
